草庐IT

Java Swingworker 和多线程

全部标签

安卓蓝牙后台线程

我使用的是蓝牙热敏打印机。打印机工作正常,但我想从一个Activity连接打印机并从另一个Activity打印数据。现在每次我都必须连接打印数据。我想连接打印机一次并通过我想保持连接的应用程序。现在我的问题是在连接到打印机之后如果我转到第二个Activity,打印机会断开连接。protectedstaticfinalStringTAG="TAG";privatestaticfinalintREQUEST_CONNECT_DEVICE=1;privatestaticfinalintREQUEST_ENABLE_BT=2;ButtonmScan,mPrint,mDisc;Bluetooth

多线程(初阶八:计时器Timer)

目录一、标准库中的计时器1、计时器的概念2、计时器的简单介绍二、模拟实现一个计时器1、思路(1)计数器中要存放任务的数据结构(2)存放优先级队列中的类型:自定义任务类MyTimerTask(3)计数器类MyTimerMyTimer类:MyTimerTask任务类:2、分析计时器的线程安全问题(1)维护队列进出的操作(2)当队列是空的,就要阻塞等待(3)如果没到时间,就要等待到时在执行要执行的代码一、标准库中的计时器1、计时器的概念计时器类似闹钟,有定时的功能,闹钟是到时间就会响,而计时器是到时间就会执行某一操作,可以指定时间,去执行某一任务(某一代码)。2、计时器的简单介绍在标准库中,提供了T

android - OrmLite 和 greenDAO 是否在后台线程中执行查询并将结果部分加载到内存中?

为了避免阻塞主/UI线程,AndroidAPI提供了Loader用于访问数据库。为了节省内存(RAM),API不会将整行(结果)加载到内存中,这样我们就可以拥有一个包含如此多项目的ListView而不会出现内存不足的情况。做OrmLite&greenDAO提供这两种能力?如果没有,是否有任何方法可以执行异步查询和部分加载和交换以将大量数据填充到ListView中? 最佳答案 我认为ORM框架不提供仅加载行部分的能力。使用greendao,您可以在Query上使用listLazy()从数据库延迟加载实体。与“预取”所有实体相比,这带来

java - 线程池执行器 : Get a specific Runnable that is being executed

我正在使用ThreadPoolExecutor在后台执行多个长时间运行的任务,ThreadPoolExecutor的池大小为4,因此当添加超过4个任务时,它们将被推送到队列,当4个任务之一完成时,一个任务从队列中弹出以供执行。我想知道有什么方法可以访问当前正在执行但不在队列中的Runnable对象,即前4个任务。目标:我想通过mThreadPoolExecutor.getQueue()的帮助在任何给定点获取任务的当前状态我正在访问正在排队并准备执行的任务,请建议我访问当前正在执行的任务的方式,以便我可以在需要时附加和删除其上的监听器/处理程序。我的可运行类:publicclassVid

java - 如何在 Espresso 中允许繁忙的工作线程

我正在尝试测试应用程序的进度指示器,它在View模型获取数据时显示不确定的进度指示器。为了对此进行测试,我正在模拟返回数据的提供程序并使其阻塞,直到我的测试给出告诉它继续进行。基本设置如下所示:@TestpublicvoidtestProgressIndicator(){injectProvider(mockProvider);startTestActivity();//Themockprovidernowrunsonaworkerthreadandwon'tfinish//untilwetellitto.//Weshouldnowseeaprogressindicator.onVie

多线程之线程安全问题

目录1.线程安全1.1线程安全问题产生的原因1.1.1抢占式执行 1.1.2 多个线程同时修改一个变量1.1.3 修改操作不是原子性1.1.4 内存可见性问题1.1.5 指令重排序1.2加锁1.2.1synchronized的使用方式1.2.2synchronized的特性 1.2.3死锁1.2.3.1死锁的三种情况:1.2.3.2 死锁形成的四个必要条件:1.3Java标准库中的线程安全类1.4 volatile关键字1.4.1volatile特性1.4.2内存可见性1.4.2.1 从汇编的角度来看内存可见性问题1.4.2.2 从JMM的角度来看内存可见性问题 1.4.3 synchroni

【Linux】Linux线程概念和线程控制

文章目录一、Linux线程概念1.什么是线程2.线程的优缺点3.线程异常4.线程用途5.Linux进程VS线程二、线程控制1.线程创建2.线程终止3.线程等待4.线程分离一、Linux线程概念1.什么是线程线程是进程内的一个执行流。我们知道,一个进程会有对应的PCB,虚拟地址空间,页表以及映射的物理内存。所以我们把这一个整体看做一个进程,即进程=内核数据结构+进程对应的代码和数据。我们可以这样看待虚存:虚拟内存决定了进程能够看到的"资源"。因为每一个进程都有对应的虚拟内存,所以进程具有独立性,从而进程需要通信的前提是看到同一份资源。我们fork创建子进程的时候,会将父进程的PCB的内容,进程地

android - Google Analytics SDK 在 UI 线程上进行磁盘操作?

我最近一直在严格模式下测试我的应用程序,以检测UI线程上的磁盘读/写。我注意到严格模式验证器讨厌GAsdk:所有对trackPageView等的调用都会导致SQLITE磁盘写入(显然SDK会存储此信息以防网络故障)。我没找到SDK的来源来确定,所以我想问一下是否还有其他人遇到过这个问题?看起来应该从外部UI线程显式调用GASDK跟踪。但为什么文档中的任何地方都没有提到这一点?还是我理解有误? 最佳答案 是的,您应该在UI线程之外调用它。Thisguy在他的页面上有一些代码作为谷歌分析的包装器来阻止你遇到的阻塞。

android - Android 上多线程处理程序的最佳实践是什么?

我有一个应用程序,例如使用多个HTTPRequests获取一个sessionid获取一些位置数据获取现有类别(...)等等我创建了一个HTTPRequestHandler,它基本上管理每个请求的所有AsynTasks...这很好用,但我的问题是,我不知道一个好的管理不同AsynTasks的方法。例如,您需要先获取SessionIdTask,然后才能启动GetSomeLocationDataTask所以在我的HTTPRequestHandler中,我有一个队列,它启动依赖的AsyncTasks,例如:privatevoidstartSessionIdTask(...){//...GetS

android - 定期从蓝牙线程 Android 中采样数据

我正在使用蓝牙聊天示例从外部传感器流式传输数据。这工作正常,我收到了所有数据。接下来我需要做的是在设定的时间段(例如每10毫秒)对接收到的数据进行采样。有人可以建议为此使用什么以及如何与蓝牙线程交互吗? 最佳答案 基本上,您可以通过使用AlarmManager定期请求数据来实现这一点。查看以下链接以获取示例:Android:Howtoperiodicallysendlocationtoaserver 关于android-定期从蓝牙线程Android中采样数据,我们在StackOverfl